<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        .box{
            width: 200px;
            height: 200px;
            background-color: pink;
        }
    </style>
</head>
<body>
<div class = "box"></div>
<script>
    /*
    * 让这个盒子每隔一段时间缓慢的向右移动
    * 做动画的时间 和显示器的刷新频率有关 60hz 120hz
    * 60hz 1000ms显示 60个 连续的状态
    *
    * */
    let x = 0 //表示向右的偏移量
    let box = document.querySelector(".box")
    //写一个函数，只要函数执行，就实时渲染盒子位置，当盒子的x移动到1224，就反弹回去，当盒子x移动到0，就反弹回来
    function render(){ //实时渲染位置盒子的函数
        box.style.transform = `translate(${x}px)`
    }
    let v = 5 //在全局声明一个变量v表示变化量
    function y(){ //盒子运动的函数
        render(x) //将渲染函数传入
        x += v //通过v的变化修改x的状态
        if(x >= 1224){ //当x大于1224时，将v变成负数
            v = -5
        }
        if(x <= 0){ ////当x等于0时，将v变成正数
            v = 5
        }
    }
    let timer = setInterval(y,20) //设置有规律运动函数，传入参数 回调函数和时间间隔
    setTimeout(function (){ //设置终止有规律函数的延时定时器
        clearInterval(timer)
    },1000*10)


</script>
</body>
</html>